package org.wdcode.base.helper;

import org.wdcode.base.bean.EntityBean;

/**
 * 继承Entity实体的操作助手类的接口
 * @author WD
 * @since JDK6
 * @version 1.0 2009-11-23
 */
public interface EntityHelper<E extends EntityBean> {
	/**
	 * 检查实体对象 为空返回一个空的对象
	 * @param E 实体实体
	 * @return 实体实体
	 */
	E check(E E);

	/**
	 * 获得一个空的实体对象 此实体只做null的代替,不做赋值操作
	 * @return 实体对象
	 */
	E getInstance();

	/**
	 * 实例化一个新的实体对象
	 * @return 实体对象
	 */
	E newInstance();

	/**
	 * 根据ID构造一个实体
	 * @param id 主键ID
	 * @return 实体
	 */
	E newInstance(int id);

	/**
	 * 根据ID构造一个实体
	 * @param id 主键ID
	 * @param name 名称
	 * @return 实体
	 */
	E newInstance(int id, String name);

	/**
	 * 获得子类的Class
	 * @return 子类的Class
	 */
	Class<E> getEntityClass();
}
